package com.sunop.pantiproblem.properties;

import com.sunop.pantiproblem.model.ProblemDocument;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import java.util.List;
import java.util.stream.Collectors;
public interface ProblemRepository extends ElasticsearchRepository<ProblemDocument, String> {

    /**
     * 根据 title 查询对应的 ProblemDocument 列表
     * @param title 题目名称
     * @return 匹配的 ProblemDocument 列表
     */
    List<ProblemDocument> findByTitle(String title);

    /**
     * 根据 title 查询对应的 pid
     * @param title 题目名称
     * @return 匹配的 pid 列表
     */
    default List<Integer> findPidByTitle(String title) {
        List<ProblemDocument> documents = findByTitle(title);
        return documents.stream()
                .map(ProblemDocument::getPid)
                .collect(Collectors.toList());
    }
}